Data Visualization with ggplot2
Install and load ‘ggplot2’ package
#install.packages('ggplot2') #If this is the first time you use ggplot, need to install first.
library(ggplot2)
Histogram
ggplot(diamonds, aes(x = carat)) + #initialize plot with ggplot()
geom_histogram(bins =30) #Add layer with geom_histogram()

#Try bins = 5
*** Barplot ***
counts <- table(diamonds$clarity) #Count how many samples in each clarity category
counts
I1 SI2 SI1 VS2 VS1 VVS2 VVS1 IF
741 9194 13065 12258 8171 5066 3655 1790
ggplot(diamonds, aes(x = clarity)) + #Initialize plot with ggplot()
geom_bar(fill = "lightblue", color = "black") #Add layer with geom_bar()

Boxplot
Explore price distribution of the daimond in each clarity category
ggplot(diamonds, aes(x = clarity, y = price)) + #Initialize plot with ggplot()
geom_boxplot(fill = "salmon", color = "red") #Add layer with geom_bar()

Scatter plot - Effect of carat and clarity
p <- ggplot(diamonds, aes(x = carat, y = price)) + #initialize plot with ggplot( )
geom_point(aes(color = clarity)) #Add layer of points with geom_point
p

Interactive Data Visualization with Plotly in ggplot
Install and load ‘plotly’ library
#install.packages("plotly")
library(plotly)
package <U+393C><U+3E31>plotly<U+393C><U+3E32> was built under R version 3.4.4Loading required package: ggplot2
Attaching package: <U+393C><U+3E31>plotly<U+393C><U+3E32>
The following object is masked from <U+393C><U+3E31>package:ggplot2<U+393C><U+3E32>:
last_plot
The following object is masked from <U+393C><U+3E31>package:stats<U+393C><U+3E32>:
filter
The following object is masked from <U+393C><U+3E31>package:graphics<U+393C><U+3E32>:
layout
Get a glimpse with ‘ggplotly’
p <- ggplot(diamonds, aes(x = carat, y = price)) + #initialize plot with ggplot( )
geom_point(aes(color = clarity)) #add layer of points with geom_point
ggplotly(p) #make interactive with ggplotly
LS0tDQp0aXRsZTogIkRhdGEgdmlzdWFsaXphdGlvbiB3aXRoIGdncGxvdDIgYW5kIHBsb3RseSINCm91dHB1dDogaHRtbF9ub3RlYm9vaw0KLS0tDQoNCiMjIERhdGEgVmlzdWFsaXphdGlvbiB3aXRoIGdncGxvdDINCg0KSW5zdGFsbCBhbmQgbG9hZCAnZ2dwbG90MicgcGFja2FnZQ0KDQpgYGB7cn0NCiNpbnN0YWxsLnBhY2thZ2VzKCdnZ3Bsb3QyJykgICNJZiB0aGlzIGlzIHRoZSBmaXJzdCB0aW1lIHlvdSB1c2UgZ2dwbG90LCBuZWVkIHRvIGluc3RhbGwgZmlyc3QuDQpsaWJyYXJ5KGdncGxvdDIpDQpgYGANCg0KDQoNCg0KDQoNCioqSGlzdG9ncmFtKioNCmBgYHtyfQ0KZ2dwbG90KGRpYW1vbmRzLCBhZXMoeCA9IGNhcmF0KSkgKyAgICAgICAgI2luaXRpYWxpemUgcGxvdCB3aXRoIGdncGxvdCgpDQpnZW9tX2hpc3RvZ3JhbShiaW5zID0zMCkgICAgICAgICAgICAgICAgICNBZGQgbGF5ZXIgd2l0aCBnZW9tX2hpc3RvZ3JhbSgpDQoNCiNUcnkgYmlucyA9IDUNCmBgYA0KDQoNCioqKiBCYXJwbG90ICoqKg0KDQpgYGB7cn0NCmNvdW50cyA8LSB0YWJsZShkaWFtb25kcyRjbGFyaXR5KSAgICAjQ291bnQgaG93IG1hbnkgc2FtcGxlcyBpbiBlYWNoIGNsYXJpdHkgY2F0ZWdvcnkNCmNvdW50cw0KDQpgYGANCg0KDQpgYGB7cn0NCmdncGxvdChkaWFtb25kcywgYWVzKHggPSBjbGFyaXR5KSkgKyAgICAgICAgICAgI0luaXRpYWxpemUgcGxvdCB3aXRoIGdncGxvdCgpDQpnZW9tX2JhcihmaWxsID0gImxpZ2h0Ymx1ZSIsIGNvbG9yID0gImJsYWNrIikgICNBZGQgbGF5ZXIgd2l0aCBnZW9tX2JhcigpDQpgYGANCg0KDQoqKkJveHBsb3QqKg0KDQpFeHBsb3JlIHByaWNlIGRpc3RyaWJ1dGlvbiBvZiB0aGUgZGFpbW9uZCBpbiBlYWNoIGNsYXJpdHkgY2F0ZWdvcnkNCmBgYHtyfQ0KZ2dwbG90KGRpYW1vbmRzLCBhZXMoeCA9IGNsYXJpdHksIHkgPSBwcmljZSkpICsgICAjSW5pdGlhbGl6ZSBwbG90IHdpdGggZ2dwbG90KCkNCmdlb21fYm94cGxvdChmaWxsID0gInNhbG1vbiIsIGNvbG9yID0gInJlZCIpICAgICAgI0FkZCBsYXllciB3aXRoIGdlb21fYmFyKCkNCmBgYA0KDQojU2NhdHRlciBwbG90IC0gRWZmZWN0IG9mIGNhcmF0IGFuZCBjbGFyaXR5DQpgYGB7cn0NCnAgPC0gZ2dwbG90KGRpYW1vbmRzLCBhZXMoeCA9IGNhcmF0LCB5ID0gcHJpY2UpKSArICAjaW5pdGlhbGl6ZSBwbG90IHdpdGggZ2dwbG90KCApDQogICAgIGdlb21fcG9pbnQoYWVzKGNvbG9yID0gY2xhcml0eSkpICAgICAgICAgICAgICAgI0FkZCBsYXllciBvZiBwb2ludHMgd2l0aCBnZW9tX3BvaW50DQpwDQpgYGANCg0KDQoNCiMjIEludGVyYWN0aXZlIERhdGEgVmlzdWFsaXphdGlvbiB3aXRoIFBsb3RseSBpbiBnZ3Bsb3QNCg0KSW5zdGFsbCBhbmQgbG9hZCAncGxvdGx5JyBsaWJyYXJ5DQpgYGB7cn0NCiNpbnN0YWxsLnBhY2thZ2VzKCJwbG90bHkiKQ0KDQpsaWJyYXJ5KHBsb3RseSkNCg0KYGBgDQoNCkdldCBhIGdsaW1wc2Ugd2l0aCAnZ2dwbG90bHknDQpgYGB7cn0NCnAgPC0gZ2dwbG90KGRpYW1vbmRzLCBhZXMoeCA9IGNhcmF0LCB5ID0gcHJpY2UpKSArICAjaW5pdGlhbGl6ZSBwbG90IHdpdGggZ2dwbG90KCApDQogICAgIGdlb21fcG9pbnQoYWVzKGNvbG9yID0gY2xhcml0eSkpICAgICAgICAgICAgICAgI2FkZCBsYXllciBvZiBwb2ludHMgd2l0aCBnZW9tX3BvaW50DQpnZ3Bsb3RseShwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI21ha2UgaW50ZXJhY3RpdmUgd2l0aCBnZ3Bsb3RseQ0KYGBgDQoNCg==